const jwt = require("jsonwebtoken");
const cert = "mall-dms";
/**
 * 登陆验证，生成token
 * @param {string} username 用户名
 * @param {string} password 密码
 */
function generateToken(userId, username, nickname) {
  return jwt.sign(
    {
      username,
      userId,
      nickname
    },
    cert, // 密钥
    {
      //参数 options
      algorithm: "HS256", // 加密算法   对称加密算法
      issuer: "admin", // 签发人
      expiresIn: 60 * 60 * 24 * 15, // 过期时间   单位：s
    }
  );
}

/**
 * 签名验证
 * @param {string} token
 */
function verifyToken(token) {
  try {
    let arr = jwt.verify(token, cert, {
      issuer: "admin",
      algorithms: ["HS256"],
    });
    return arr;
  } catch (error) {
    return {
      code: -1,
      message: error.message,
    };
  }
}

module.exports = {
  generateToken,
  verifyToken
}